Ext.require([  'Ext.window.MessageBox',  
               'Ext.tip.*'
               ]);

Ext.define('fanta.Messages',{

					constructor : function() {
						return this;
					},

					getMessage : function(title, msg) {
						
					/*	var msgId = null;
						var msgMasterstore = null;
						var msgTextId = null;
						var SettingTextID = null;
						var resultMsg =null;
						var imgPathArray =null;
						var saveMsgToLog = null;
						var msgShortTxt =null;
						var msgId = null;
						
						var msgStoreData = Ext.getStore('ibe_message_store');  
						
						if(!msgStoreData){
							msgStoreData = Ext.create('ibe_base.MessageMaster');
						}
						                   
						var setTextData = Ext.getStore('ibe_settingTxt_store');
						
						if(!setTextData){
							setTextData = Ext.create('ibe_base.SettingTxtStore');
						}
						
						
						     try {
						    	 
					        if (msgArrayData != null && msgArrayData.length>0) {
					        	resultMsg = new Array(msgArrayData.length);
								imgPathArray = new Array(msgArrayData.length);
					
						     for ( var row = 0; row < msgArrayData.length; row++) {
						    	
						    	   try {
						    	         msgId = msgArrayData[row].message_id;
						    	         var msgType =  msgArrayData[row].message_type;
						    	         
						    	   		if(msgId!=null){
						    	   			 msgMasterstore = msgStoreData.getById(msgId);
							    			 }
						    	   		
										}catch(e) {
					    	   				
					    	   				console.log(e);
					    	   			}
										 msgType = 'alert';
				    		 	     if (msgType == null || msgType == undefined) {
				    		 	    	
												  msgType = msgMasterstore.data.type;
												 
												} else {
													 msgType = msgType;
													
													
												   } 
					    		
						    		  var image = msgType.toLowerCase();
						    		  
						    		            if (image != null ) {
											          var imgName = image + ".png";
											          var imgPath = 'resources/images/icons/' + imgName + ''; 
											    	//var imgPath = '../../webui/resources/images/icons/' + imgName + ''; 
											    	  //var imgPath = '../../../images/icons/' + imgName + '';
											    	
											    	  imgPathArray[row]= imgPath;
											       } else {
											    	   imgPathArray[row]= '';
											    	   
											       }
		    		
							      if(msgMasterstore!=null){
								    	  
							    	       msgTextId = msgMasterstore.data.text; 
									       saveMsgToLog = msgMasterstore.data.saveMsgToLog;
									       
								         }
								 if(msgTextId!=null){
								    	     SettingTextID = setTextData.getById(msgTextId);
									    	       if(SettingTextID!=null){
									    	          
									    	    	  msgShortTxt = SettingTextID.data.text[0].text;
									    	    	   
									    	        } 
									    	       if(msgShortTxt!=null) {
									    	    	  									    	    	
				    	            if(msgArrayData[row].message_params!=null || msgArrayData[row].message_params != undefined){
				    	            	  for ( var col = 0; col < msgArrayData[row].message_params.length; col++) {
								    	        
				    	            		var msgKey = msgArrayData[row].message_params[col].param_name;
				    	            		
										    var msgVal = msgArrayData[row].message_params[col].param_value;
										   
										       msgShortTxt = msgShortTxt.replace(msgKey, msgVal);
										      
											   }
											                   
											      	 resultMsg[row] = msgShortTxt;
											      } else {
											    	  resultMsg[row] = msgShortTxt;
											    	  
											      } } else {
											    	  
											    	  resultMsg[row] = msgId;
											    	  
											      }
									    		
											      } else {
											    	  
											    	  resultMsg[row] = msgId; 
											      }
											      
								
											      
								        	// To insert data in the temporary UI message Log 
									        var busText = Ext.create('ibe_util.BusText',{
											  shortText: msgShortTxt
											  });
							      
									        var userStoreData = Ext.getStore('ibe_user_store');
										      									     
										    var personId = userStoreData.data.items[0].data.personID;
										    var client = userStoreData.data.items[0].data.client;
										    var userID = userStoreData.data.items[0].data.extID;  
										    var type = userStoreData.data.items[0].data.type;
									    
										    var uiMessageLogModel = Ext.create('ibe_base.UIMsgLogModel');
										   
										    var  cfg = msgMasterstore.data.cfg;
										    var savetoMsgLog = msgMasterstore.data.saveMsgToLog;
										    var text = msgMasterstore.data.text;
										    var copyToId = msgMasterstore.data.copyTo;
										    var scoreResp = null;
										    var adminMsg = null;
										    var priority = null;
										    var rfwdAllowed = null;
										    var fwdAllowed = null;
										    if(cfg!=null) {
										    	
										    	scoreResp =  msgMasterstore.data.cfg.scoreResponse;
										      	adminMsg =  msgMasterstore.data.cfg.adminMsg;
										    	priority = msgMasterstore.data.cfg.priority; 
										       	rfwdAllowed = msgMasterstore.data.cfg.replyAllowed; 
										    	readReqd = msgMasterstore.data.cfg.readRequired; 
										    	fwdAllowed = msgMasterstore.data.cfg.fwdAllowed; 
										    }
										 
										   var  buttons = msgMasterstore.data.buttons;
										  
										   var  embfields = msgMasterstore.data.fields;
										 
										   
										   var busObjectCat = Ext.create('ibe_base.UIMsgLogModel');
										   console.log('busObjectCat');
										   console.log(busObjectCat);
										   
										   
										    var records = new Array();
										    uiMessageLogModel.data.id=  msgId;
										    uiMessageLogModel.data.busObjCat="MessageType"; 
										    uiMessageLogModel.data.busObjID="test";
										    uiMessageLogModel.data.subID="5";
										    uiMessageLogModel.data.topic="";
										    uiMessageLogModel.data.tabID="";
										    uiMessageLogModel.data.msgMasterId= msgId ;
										    uiMessageLogModel.data.type= msgType ;
										    uiMessageLogModel.data.text= busText.makeObject(); 
										    uiMessageLogModel.data.publishedBy= "" ;
										  //uiMessageLogModel.data.PublishedOn=   ;  
										  //uiMessageLogModel.data.sortDate=
										    uiMessageLogModel.data.saveToLog= savetoMsgLog;
										    uiMessageLogModel.data.readRequired="";
										    uiMessageLogModel.data.isRead="false";
										  //uiMessageLogModel.data.readOn=
										    uiMessageLogModel.data.longTextID= text;
										    uiMessageLogModel.data.assocField="";
										    uiMessageLogModel.data.fields= embfields;
										    uiMessageLogModel.data.replyToID="";
										    uiMessageLogModel.data.taskID= "";
										    uiMessageLogModel.data.priority= priority;
										    uiMessageLogModel.data.adminMsg= adminMsg;
										    uiMessageLogModel.data.replyAllowed= rfwdAllowed;
											uiMessageLogModel.data.buttons= buttons;
											uiMessageLogModel.data.publishedByFullName="";
											uiMessageLogModel.data.publishedByPhotoRefID="";
											var msgLongTxt = null;
										    msgLongTxt = SettingTextID.data.text[0].longText;
										    if(msgLongTxt!=null || msgLongTxt!=undefined) {
										    	 msgLongTxt="true";
										    } else {
										    	
										    	msgLongTxt="false";
										    }		
												
										    uiMessageLogModel.data.longTextExists= msgLongTxt;
										    uiMessageLogModel.data.buttonSeqID="1";
										   //uiMessageLogStore.data.publishedAgo=
										    uiMessageLogModel.data.scoreResponse= scoreResp;
										    uiMessageLogModel.data.personID= personId;
										    uiMessageLogModel.data.copyTo= copyToId;
										    uiMessageLogModel.data.msgLog="false";
										    uiMessageLogModel.data.fwdAllowed= fwdAllowed;
											
											 records.push(uiMessageLogModel);
											 var uiMessageLogStore = Ext.create('ibe_base.UIMsgLogStore');
											 console.log('ui message log records');
											   
											 console.log(records);
											 uiMessageLogStore.loadData(records);

										    
										     var testData = Ext.getStore('ibe_uiMsgLog_store');	
										     console.log('testDatatestDatatestDatatestDatatestDatatestData');
										     console.log(testData);
														  
									//to insert into the MessageLog Collection
													  
							      if(saveMsgToLog!=null && saveMsgToLog!=false) { 	
							    	    console.log('inside the saveMsg to Log loopppppppp');
							    	if(msgType != 'notification') {
							    	
							    		var msgLogModel = Ext.create('ibe_base.MessageLogModel');
								    	 
								    	 msgLogModel.set("client",client); 
								    	 
								    	 msgLogModel.set("text",busText.makeObject());
								    	 
								    	 msgLogModel.set("msgMasterID",msgId ); 
								    	 
								    	 msgLogModel.set("type", msgType); 
								    	 
									     var cfgData = {
										    		 priority : priority ,
										    		 readRequired : readReqd  ,
										    		 adminMessage : adminMsg   ,
										    		 replyFwdAllowed : readReqd ,
										    		 scoreResponse: scoreResp , 
												 }
												 msgLogModel.set("cfg",cfgData);
									    	 
										 var msgButtonData = [{
										
										subID :0 ,
										intStatus : 1,
										sequence : 2,
										clickableText :"",
										clickedText: "",
										toggle :false,
										repeat :false,
										icon : "",
										buttonHandlerAPI :"",
										updFields[{
											subID :1,
											intStatus:2,
											name : "",
											value : "",
											type : ""
										}]
										 }]
										 
									 msgLogModel.set("buttons",msgButtonData);
														    	 
						    	     msgLogModel.set("longText", msgLongTxt); 
						    	 
						    	     msgLogModel.set("assocField","naresh"); 
						    	 
							    	 msgLogModel.set("publishedBy",personId); 
							    	 
							        // msgLogModel.set("busObjID","Test" ); 
							    	 
							    	
								     var repeatData = {
								    		 repeatIntervalUnit :"" ,
								    		 repeatIntervalQty :  "" ,
								    		 onDaysOfWeek :  "" ,
								    		 onDaysOfMonth : "" ,
								    		 onWeeksInMonth: "" ,
								    		 repeatUntil: "",
											 }
									 msgLogModel.set("repeat",repeatData);
							    	 
							    	 msgLogModel.set("taskID","T12");
							    	 
							    	 msgLogModel.set("replytoID","false"); 
							    	 
							    	var embfields = {
							    			subID :0 ,
											intStatus:1,
											name : "naresh",
											value : "ha ha",
											type : "",
							    			
							    	}
							    	 
							    	 msgLogModel.set("fields",embfields); 
							    	    	 
							    	 msgLogModel.set("topic","test"); 
							    	 
							    	 //var msgStore = Ext.getStore('ibe_uiMsgLog_store');										    
								  	 
					            	 var msgParam = "NotDisplay";	
					            	 
				            		// msgLogModel.save(msgParam);
											            		
													    	}
												      } 
														      
										} //End of for loop
												 
												    
									}
					} catch (e) {
						
						console.log('Exception Occurred');
						console.log(e);
					}
*/
						
						// to display the msg text in the message panel
						this.fantaMessage().getMessageDisplay(title, msg);
					

					},
					fantaMessage : function() {
						
						var msgCt;
						function createBox(t, imgPathArray) {
							
							//returnImage = ' <div class="msg" ><img src="' + imgPathArray[i] + '" width="15" height="15"  />&nbsp;<h3>' + t[i] + '</h3><br /> </div>';
							var mainImage = '<div class="msg" >';
							var returnImage ="";
							for ( var i = 0; i < imgPathArray.length; i++) {
								
								returnImage += '<p><h5><img src="' +imgPathArray[i]+ '" align="left" width="16px" height="16px"/>&nbsp;&nbsp;'+t+'</p></h5><br/>';
							
							}
							mainImage = mainImage+returnImage;
							mainImage = mainImage+'</div>';
							return mainImage;
						}
						return {
							getMessageDisplay : function(title, imgPathArray) {
						
				                if (!msgCt) {                	
				                	msgCt = Ext.core.DomHelper.insertFirst(document.body, {	id : 'msg-div'}, true);
								}
												// var s = Ext.String.format.apply(String,
												// Array.prototype.slice.call(arguments, 1));
												
				                var m = Ext.core.DomHelper.append(msgCt,createBox(title, imgPathArray), true);
				                m.hide();
				                m.slideIn('t').ghost("t", { delay : 3000,remove : true });
						
							},
				
							init : function() {
				
											}
						};
						
					}

	});